package br.com.firula.bo;

import java.util.Collection;
import java.util.List;

import br.com.firula.to.BaseTO;
import br.com.firula.web.filter.Filtro;

public interface GenericBO {

	public abstract void setType(String type);

	public abstract Class getClazz();

	public abstract List getList(Filtro filtro);

	public abstract BaseTO get(String id);

	public abstract void save(BaseTO object);

	public abstract void remove(String id);

	public abstract Integer getListCount(Filtro filter);
	
	public abstract Integer getListCountByExamples(BaseTO[] examples);
	
	public abstract List getListByExample(BaseTO example,String search, String qtde, String page);
	
	public abstract List getListByExamples(BaseTO[] examples, int first, int max);
	
	public abstract List getListByExample(BaseTO example, int first, int max);

}